export enum E_RECORD_TYPE {
  A = 'A',
  AAAA = 'AAAA',
  CNAME = 'CNAME',
  MX = 'MX',
  NS = 'NS',
  TXT = 'TXT',
  // SRV = 'SRV',
  CAA = 'CAA'
}

export const recordTypeOptions: LabelValue<E_RECORD_TYPE>[] = [
  { label: 'A', value: E_RECORD_TYPE.A },
  { label: 'AAAA', value: E_RECORD_TYPE.AAAA },
  { label: 'CNAME', value: E_RECORD_TYPE.CNAME },
  { label: 'MX', value: E_RECORD_TYPE.MX },
  { label: 'NS', value: E_RECORD_TYPE.NS },
  { label: 'TXT', value: E_RECORD_TYPE.TXT },
  // { label: 'SRV', value: E_RECORD_TYPE.SRV },
  { label: 'CAA', value: E_RECORD_TYPE.CAA }
]

export const logOpts: LabelValue<E_RECORD_TYPE>[] = [
  { label: 'A - 将域名指向一个IPv4地址', value: E_RECORD_TYPE.A },
  { label: 'AAAA - 将域名指向一个IPv6地址', value: E_RECORD_TYPE.AAAA },
  { label: 'CNAME - 将域名指向另一个域名', value: E_RECORD_TYPE.CNAME },
  { label: 'MX - 将域名指向邮件服务器地址', value: E_RECORD_TYPE.MX },
  { label: 'NS - 将子域名指定其他DNS服务器解析', value: E_RECORD_TYPE.NS },
  {
    label: 'TXT - 文本长度限制255，通常做SPF记录（反垃圾邮件）',
    value: E_RECORD_TYPE.TXT
  },
  { label: 'CAA - CA证书颁发机构授权校验', value: E_RECORD_TYPE.CAA }
  // { label: 'SRV - 记录提供特定的服务的服务器', value: E_RECORD_TYPE.SRV },
]

export const ttlOpts: LabelValue[] = [
  { label: '10分钟', value: 10 * 60 },
  { label: '30分钟', value: 30 * 60 },
  { label: '1小时', value: 1 * 60 * 60 },
  { label: '12小时', value: 60 * 12 * 60 },
  { label: '1天', value: 60 * 24 * 60 }
]

export const valuePlaceholderOpts = [
  { label: '请输入IPv4地址', value: E_RECORD_TYPE.A },
  { label: '请输入IPv6地址', value: E_RECORD_TYPE.AAAA },
  { label: '请输入域名', value: E_RECORD_TYPE.CNAME },
  { label: '请输入邮箱服务器地址', value: E_RECORD_TYPE.MX },
  { label: '请输入域名', value: E_RECORD_TYPE.NS },
  { label: '请输入TXT记录', value: E_RECORD_TYPE.TXT },
  { label: '请输入记录值', value: E_RECORD_TYPE.CAA }
]

/**记录值输入框提示 */
export const getValuePlaceHolder = (type: string) => {
  const item = valuePlaceholderOpts.find(item => item.value === type)
  return item ? item.label : '请输入记录值'
}
